The remote desktop protocol (RDP) is a communication protocol used for providing access to a remote device using a graphical interface. RDP can be used, for example, in a client/server application to provide a user of a first computing device a graphical interface showing a desktop environment of a user session running on a remote server device. The RDP is generally used to transport large quantities of image data (as well as other types of data) over a communication network in order to provide the graphical interface from the remote device to the user's device with minimal delay, so to enable the user to interact with the remote device in real-time. In environments in which the communication network has limited bandwidth, and/or in environment in which communication between the user's and the remote devices is subject to packet loss and/or communication delays, the performance of the RDP may suffer. For instance, the user may experience a choppy and/or incomplete version of the graphical user interface running on the remote device. In order to improve the user's experience, methods and systems are needed to reduce the bandwidth utilization of the RDP, and to minimize performance degradation of the RDP across lossy and/or delayed communication links.